# _*_ coding: UTF-8 _*_
# @Time     : 2021/10/22 11:03
# @Author   : Gong Yangyi
# @Site     : http://www.hzdledu.cn/
# @File     : c5s3_for循环.py
# @Software : PyCharm

# for循环
# for循环的本质是对序列进行递归扫描，循环次数由序列的元素决定

# rang()函数：用于产生范围内的序列
# 基本语法：range(start,end,step)
print(list(range(20)))  # 一个参数是end，默认step是1，且包左不包右
print(list(range(10, 20)))
print(list(range(10, 20, 3)))
print(list(range(100, 60, -3)))

# 1-100的累加
sum1 = 0
for i in range(101):
    sum1 += i
    print(sum1)
#1-10的累乘
n=1
for x in range(1,11):
    n *=x
    print(n)
#2. 打印出以下图形
# *
# *
# *
# *
# *
for x1 in range(5):
    print('*')
# 3. 如何打印如下图形
# * * * * *
for x1 in range(5):
    print('*',end=' ')
print()
print('-----------------------------------------------------')
for x1 in range(5):
    # 循环的嵌套
    for x2 in range(5):
        print('*',end=' ')
    print()
print('-----------------------------------------------------')
#课堂练习
#*
#**
#***
#****
#*****
for i in range(5):# 循环的嵌套
    for j in range(i+1):
        print('*',end=' ')
    print()
#输出9x9乘法表
for i in range(1,10):# 循环的嵌套
    for j in range(1,i+1):
        print(f'{j}x{i}={i*j:2}',end='\t')
    print()

#循环控制
#1.break终止整个循环
for i in range(1,6):
    print(f'{i}次循环，break之前')
    if i==3:
        break
    print(f'{i}次循环，break之后')

#2.continue提前结束本次循环，只影响本次循环continue之后的代码
for i in range(1,6):
    print(f'{i}次循环，break之前')
    if i==3:
        continue
    print(f'{i}次循环，break之后')